package codegen.modelobjects; import static CIAPI.Java.logging.Log.debug; import static CIAPI.Java.logging.Log.error; import static CIAPI.Java.logging.Log.info; import static CIAPI.Java.logging.Log.trace; import static CIAPI.Java.logging.Log.warn; import codegen.gson.GsonHelper; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; public class Type { private String $ref; public String get$ref() { return $ref; } @Override public String toString() { return convertJsonTypeToJavaType(get$ref()); } public static JsonDeserializer<Type> getDeSerializer() { return new DeSerializer(); } private static String convertJsonTypeToJavaType(String type) { if (type.equals("string")) return "String"; else if (type.equals("number")) { return "double"; } else if (type.equals("integer")) { return "int"; } else if (type.equals("boolean")) { return "boolean"; } else { return type; } } static class DeSerializer implements JsonDeserializer<Type> { @Override public Type deserialize(JsonElement json, java.lang.reflect.Type typeOfT, JsonDeserializationContext context) throws JsonParseException { Gson g = GsonHelper.gson(Type.class); if (json.isJsonPrimitive()) { Type t = new Type(); t.$ref = json.getAsString(); return t; } else if (json.isJsonArray()) { g = GsonHelper.gson(); JsonArray arr = json.getAsJsonArray(); Type t = g.fromJson(arr.get(1), Type.class); return t; } else { Type t = g.fromJson(json, Type.class); return t; } } } }